本发明实施例公开了一种服务器管理方法,及装置,其中方法包括:获取集群服务器的配置文件;上述配置文件配置将各服务器按照业务逻辑分为预定的层级,各层级按树形拓扑结构分布;接收并解析接收到的操作指令,得到操作指令所对应的目标服务器;将上述操作指令按照上述配置文件中层级逐层转发至上述目标服务器。以上方案通过对服务器的分层管理,使服务器之间的逻辑关系更为简单,因此提供了有效的方式来梳理服务器之间的复杂关系。
1.一种服务器管理方法,其特征在于,包括:获取集群服务器的配置文件;所述配置文件配置将各服务器按照业务逻辑分为预定的层级,各层级按树形拓扑结构分布;接收并解析接收到的操作指令,得到操作指令所对应的目标服务器;将所述操作指令按照所述配置文件中层级逐层转发至所述目标服务器。
2.根据权利要求1所述方法,其特征在于,所述层级包括:四个层级,从上到下依次为:集群cluster、组group、集合set、单元unit;cluster作为最高层级的根节点,是提供相同服务的一组服务器、按照服务的运行环境划分cluster得到的group是cluster的子节点,按照不同业务划分group得到set,set是group的子节点,set的子节点是unit,unit是执行服务逻辑的执行服务器。
3.根据权利要求2所述方法,其特征在于,还包括:监控set的负载状态,若负载状态超过预定门限值,则发送需要扩容的提示。
4.根据权利要求3所述方法,其特征在于,还包括:接受用户登录,在确定登录的用户具有服务器搭建权限后,将配置文件拉取至缓存,并按照用户输入指示增加指定层级的节点到配置文件,并分配相应资源,然后启动增加的节点对应的服务器以及业务逻辑。
5.根据权利要求1至4任意一项所述方法,其特征在于,所述层级中,位于最底层的服务器互为主备,最底层的一个或者一个以上的服务器设置于一台实体服务器。
6.根据权利要求5所述方法,其特征在于,包括:监测最底层的服务器的状态,在最底层的服务器出现故障后提示移除出现故障的最底层的服务器,使用故障的最底层的服务器的兄弟节点服务器执行所述故障的最底层的服务器的业务逻辑。
7.根据权利要求1所述方法,其特征在于,所述将所述操作指令按照所述配置文件中层级逐层转发至所述目标服务器包括:若所述目标服务器对应的层级非最底层,则将以所述目标服务器对应层的服务器为根节点的子树作为目标服务器的单位,将所述操作指令按照所述配置文件中层级逐层转发至所述目标服务器的单位。
8.根据权利要求1所述方法,其特征在于,所述接收并解析接收到的操作指令包括:通过向用户展现的可视化操作界面接收操作指令,然后解析接收到的操作指令。
9.一种服务器管理装置,其特征在于,包括:配置获取单元,用于获取集群服务器的配置文件;所述配置文件配置将各服务器按照业务逻辑分为预定的层级,各层级按树形拓扑结构分布;指令解析单元,用于接收并解析接收到的操作指令,得到操作指令所对应的目标服务器;指令转发单元,用于将所述操作指令按照所述配置文件中层级逐层转发至所述目标服务器。
10.根据权利要求9所述装置,其特征在于,所述配置获取单元,具体用于获取集群服务器的配置文件;所述配置文件配置将各服务器按照业务逻辑分为预定的层级,各层级按树形拓扑结构分布;层级包括:四个层级,从上到下依次为:集群cluster、组group、集合set、单元unit;cluster作为最高层级的根节点,是提供相同服务的一组服务器、按照服务的运行环境划分cluster得到的group是cluster的子节点,按照不同业务划分group得到set,set是group的子节点,set的子节点是unit,unit是执行服务逻辑的执行服务器。
11.根据权利要求10所述装置,其特征在于,还包括:负载监控单元,用于监控set的负载状态;提示单元,用于若负载监控单元监控到负载状态超过预定门限值,则发送需要扩容的提示。
12.根据权利要求11所述装置,其特征在于,还包括:权限控制单元,用于接受用户登录,确定登录的用户是否具有服务器搭建权限;资源控制单元,用于在权限控制单元确定登录的用户具有服务器搭建权限后,将配置文件拉取至缓存,并按照用户输入指示增加指定层级的节点到配置文件,并分配相应资源,然后启动增加的节点对应的服务器以及业务逻辑。
13.根据权利要求9至12任意一项所述装置,其特征在于,所述层级中,位于最底层的服务器互为主备,最底层的一个或者一个以上的服务器设置于一台实体服务器。
14.根据权利要求13所述装置,其特征在于,包括:状态监控单元,用于监测最底层的服务器的状态;逻辑控制单元,用于在状态监控单元检测到最底层的服务器出现故障后提示移除出现故障的最底层的服务器,使用故障的最底层的服务器的兄弟节点服务器执行所述故障的最底层的服务器的业务逻辑。
15.根据权利要求9所述装置,其特征在于,所述指令转发单元,具体用于若所述目标服务器对应的层级非最底层,则将以所述目标服务器对应层的服务器为根节点的子树作为目标服务器的单位,将所述操作指令按照所述配置文件中层级逐层转发至所述目标服务器的单位。
16.根据权利要求9所述装置,其特征在于,所述指令解析单元,具体用于通过向用户展现的可视化操作界面接收操作指令,然后解析接收到的操作指令。
技术领域本发明涉及通信技术领域,特别涉及一种服务器管理方法,及装置。
背景技术服务器,也称伺服器。服务器是网络环境中的高性能计算机,它侦听网络上的其他计算机(客户机)提交的服务请求,并提供相应的服务,为此,服务器具有承担服务并且保障服务的能力。如网页(Web)服务器,它可能是指用于提供网站的计算机,也可能是指像Apache(一种虚拟主机软件)这样的软件,运行在这样的计算机上以管理网页组件和回应网页浏览器的请求。服务器的高性能主要体现在高速度的运算能力、长时间的可靠运行、强大的外部数据吞吐能力等方面。服务器的构成与微机基本相似,有处理器、硬盘、内存、系统总线等,它们是针对具体的网络应用特别制定的,因而服务器与微机在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面存在差异很大。一个管理资源并为用户提供服务的计算机软件,通常分为文件服务器(能使用户在其它计算机访问文件),数据库服务器和应用程序服务器。随着业务范围越来越大,客户端与服务器的交互越来越复杂,后台的服务器根据不同业务逻辑,会以集群方式分布。当业务数量和服务器数量增加到一定量级别后,管理服务器给服务器管理员增加了极大的负担,不同业务逻辑与IDC(Internetxa0Dataxa0Center,因特网数据中心)的相互交错,导致服务器之间的关联错综复杂,操作困难并且频繁出错。于是需要一套有效的技术方案来梳理不同种类服务器之间的关系。
发明内容本发明实施例提供了一种服务器管理方法,及装置,用于提供有效的方式来梳理服务器之间的复杂关系。一种服务器管理方法,包括:获取集群服务器的配置文件;上述配置文件配置将各服务器按照业务逻辑分为预定的层级,各层级按树形拓扑结构分布;接收并解析接收到的操作指令,得到操作指令所对应的目标服务器;将上述操作指令按照上述配置文件中层级逐层转发至上述目标服务器。一种服务器管理装置,包括:配置获取单元,用于获取集群服务器的配置文件;上述配置文件配置将各服务器按照业务逻辑分为预定的层级,各层级按树形拓扑结构分布;指令解析单元,用于接收并解析接收到的操作指令,得到操作指令所对应的目标服务器;指令转发单元,用于将上述操作指令按照上述配置文件中层级逐层转发至上述目标服务器。从以上技术方案可以看出,本发明实施例具有以下优点:以上方案通过对服务器的分层管理,使服务器之间的逻辑关系更为简单,因此提供了有效的方式来梳理服务器之间的复杂关系。
附图说明为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本发明实施例方法流程示意图;图2为本发明实施例层级结构示意图;图3为本发明实施例方法流程示意图;图4为本发明实施例方法流程示意图;图5为本发明实施例方法流程示意图;图6为本发明实施例装置结构示意图;图7为本发明实施例装置结构示意图;图8为本发明实施例装置结构示意图;图9为本发明实施例装置结构示意图。
具体实施方式为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。本发明实施例提供了一种服务器管理方法,如图1所示,包括:101:获取集群服务器的配置文件;上述配置文件配置将各服务器按照业务逻辑分为预定的层级,各层级按树形拓扑结构分布;本发明实施例还给出了层级的举例,上述层级包括:四个层级,从上到下依次为:集群cluster、组group、集合set、单元unit;cluster作为最高层级的根节点,是提供相同服务的一组服务器、按照服务的运行环境划分cluster得到的group是cluster的子节点,按照不同业务划分group得到set,set是group的子节点,set的子节点是unit,unit是执行服务逻辑的执行服务器。后续实施例将就此给出更详细的结构性说明。需要说明的是,按照不同的需求,可能有更多层级也可以压缩层级更为扁平,具体层级的数量本发明实施例不予限定。进一步地,本发明实施例还给出了负载监控方案,上述方法还包括:监控set的负载状态,若负载状态超过预定门限值,则发送需要扩容的提示。该方案可以实现负载的监控,智能提醒扩容。进一步地,本发明实施例还给出了进行扩容的具体实现方案,具体为:接受用户登录,在确定登录的用户具有服务器搭建权限后,将配置文件拉取至缓存,并按照用户输入指示增加指定层级的节点到配置文件,并分配相应资源,然后启动增加的节点对应的服务器以及业务逻辑。优选地,上述层级中,位于最底层的服务器互为主备,最底层的一个或者一个以上的服务器设置于一台实体服务器。若有一个以上的服务器设置于一台实体服务器,那么可以有效利用具有空闲资源的实体服务器。进一步地,由于最底层的服务器互为主备本发明实施例还给出了服务器故障的解决方案:监测最底层的服务器的状态,在最底层的服务器出现故障后提示移除出现故障的最底层的服务器,使用故障的最底层的服务器的兄弟节点服务器执行上述故障的最底层的服务器的业务逻辑。由于最底层的服务器互为主备,最底层的服务器移除并不会影响到对客户的服务提供,因此即使最底层服务器出现故障也不会影响用户体验,实现平滑的故障处理。102:接收并解析接收到的操作指令,得到操作指令所对应的目标服务器;优选地,上述接收并解析接收到的操作指令包括:通过向用户展现的可视化操作界面接收操作指令,然后解析接收到的操作指令。通过向用户展现的可视化操作界面接收操作指令的方案有很多,例如使用UI(Userxa0Interface,用户界面)图形操作方式来接收操作指令。具体采用何种可视化操作界面并不影响本发明实施例的实现,本发明实施例对此不予限定。103:将上述操作指令按照上述配置文件中层级逐层转发至上述目标服务器。以上方案通过对服务器的分层管理,使服务器之间的逻辑关系更为简单,因此提供了有效的方式来梳理服务器之间的复杂关系。可选地,上述将上述操作指令按照上述配置文件中层级逐层转发至上述目标服务器包括:若上述目标服务器对应的层级非最底层,则将以上述目标服务器对应层的服务器为根节点的子树作为目标服务器的单位,将上述操作指令按照上述配置文件中层级逐层转发至上述目标服务器的单位。另外,可以理解的是,如果目标服务器是最底层服务器,直接执行:将上述操作指令按照上述配置文件中层级逐层转发至上述目标服务器。在后续实施例中,将对本发明实施例方法中提到层级结构进行举例说明,并对各种功能的实现进行分别举例说明,如下:一、服务器分层请参阅图2所示,服务器集群按照业务逻辑可以细分为集群cluster、组group、集合set、单元unit四层。Unit是最小的管理单元。拓扑关系如下图:将提供相同服务的一组服务器定义为cluster,在同一个cluster下,根据公司的运营模式,抽象出不同的group,例如游戏分为正式服、体验服、测试服等。在具体的每一个group下,以业务为划分标准分出不同的set,每一个set中可以是一个业务,也可以是多个业务,对于小业务,可以多个业务公用一个set,对于用户量大的业务,可以独占一个set,划分标准管理员根据业务规模来定。例如图2中业务1~业务7。在每一个Set的子节点,是当前服务器的最小管理单元服务器,一般会在每一个set下面分布多个不同IDC的服务器,例如Server1~Server4。以上拓扑结构的层级以及各层级的关系存储在配置文件中,以上各层级服务器的概念可以是逻辑服务器概念,在实体服务器上的分部情况本发明实施例不予限定。在后续实施例中将给出几个举例。二、指令的转发在每一台服务器上部署代理(agent),用于转发并执行中央管理服务器(处于管理位置的服务器)发送的指令,cluster、group、set、unit四层均可抽象出相同的命令对当前的节点以及兄弟节点、子节点进行相同的操作。例如,可以对group层抽象出升级操作,以group为单位升级服务器。在set层,针对每个业务抽象出进程启动、停止、加载配置等操作。以下给出一个举例,如图3所示,包括:301:操作人员向服务器发送操作指令;302:接收模块收到操作指令;303:将指令放置到执行队列尾部;304:中央处理器从队列中取出操作指令,并从操作指令中解析出命令执行的目标服务器;305:中央服务器将命令转发给目标服务器的代理进程;306:目标服务器代理进程接收到中央服务器转发的操作指令并执行;307:代理进程将执行结果返回给中央服务器。三、中央服务器的应用可以设置一台中央服务器来管理众多cluster。具体的:以一些友好、简单的UI(Userxa0Interface用户界面)图形操作方式,来操作中央服务器,以实现管理cluster的目的。在本发明实施例应用的产品中,平台的服务器管理员可以用以门户网站(webxa0portal)的方式来操作中央服务器;如图4所示,用户通过webxa0portal将操作指令发送至中央服务器,中央服务器再将操作指令发送给不同的cluster,cluster1和或cluster2,进入cluster的代理(Agent)。四、服务器备份对于每一个set下的每一个服务器,各服务器之间可以相同,并且提供相同的服务,互为主备,比如set1下面分布10台服务器,set1中包含2个业务,那么这2个业务均在这个set的10台服务器中具有服务逻辑,对于一个业务来说,这10台服务器互为主备,互相备份。一个set中,业务越多,服务器的利用率就越高。五、服务器扩容的监控在上面服务器的部署结构架构中,实现服务器的平滑扩容,可以对其他并行的业务不产生影响,具体如下:对于每一个set,我们可以根据当前服务器的CPU(Centralxa0Processingxa0Unit,中央处理器)、网卡收发包的数量、内存大小、服务器进程的繁忙程度等可量化的指标,来衡量每一套set的最大容量,并且在监控系统中,显示当前已经达到的负载,管理员可以依据当前set的容量,决定是否对服务器进行扩容。六、服务器扩容若管理员决定扩容,先选择合适的Group下的对应的Set,然后可以根据webxa0portal的指引,进行服务器扩容操作。下面给出了一个举例,如图5所示,包括:501:运维人员需要为新业务架设服务器,调用搭建业务接口进行登录;502:判断是否拥有搭建权限,是,进入503,否则进入511;503:确定缓存中是否存在服务器信息配置,该配置信息可以包含在配置文件中,是,进入504,否则进入512;504:修改配置文件,将服务器资源分配给新业务,并纳入到中央管理器管理范围;505:推送已修改的配置文件至中央管理服务器;506:确定是否推送成功,是,进入507,否则进入511;507:中央管理服务器加载推送的配置文件并根据指示分配服务器给新业务;508:确定是否立即启动新业务服务器进程,是,进入509,否则可以返回处理结果并结束流程;509:命令处理模块将启动命令放入命令执行队列;510:中央处理器执行启动命令。511:返回相应错误;结束流程。512:从中央管理服务器拉取服务器配置文件至缓存;513:确定是否拉取成功,是进入504,否则进入512。七、集中部署采用集中部署可以减小服务器的开销。由于,在传统的方式中,服务器是以零散的方式分布的。每一个服务器仅仅针对某一项业务提供单一的服务。对于某一些服务器负载很轻的业务,这样会造成极大的浪费,采用本发明实施例的方案管理服务器,以每一个set的容量为标准利用了服务器资源,在每一个set下面,只要一台服务器有足够多的资源,可以将多个unit搭建在同一台实体服务器上,这样就能最大的减小了服务器的花费。在本发明实施例的应用产品的应用试验:互娱有40个业务使用了服务器,按传统部署方式,一个业务根据IDC部署需要4台服务器,40个业务需要160台服务器。但是,这160台服务器中,有将近50%以上的业务由于用户量小,服务器资源没有充分利用,使用了本发明实施例防范以后,我们将用户量小的多个业务分配到一个set中,这个set以容量为标准,可以多个业务可以公用一台实体服务器。当set的负载达到80%时,我们再考虑扩容新的set以减小业务压力。这个方案实施以后,至少为公司节约了50%的服务器成本。八、故障处理当存在故障服务器时候,可以通过监测得到故障并发送告警来提示管理员。此时管理员可以直接将故障机器从set中移除。由于在每一个set下所有服务器都是相同的,服务器互为主备,因此当一台服务器发生故障时,客户端对这个故障是无感知的,基本对业务没有造成影响,移除以后如果剩余服务器负载太大,可以进行服务器的扩容,具体扩容方案请参阅前文。本发明实施例还提供了一种服务器管理装置,如图6所示,包括:配置获取单元601,用于获取集群服务器的配置文件;上述配置文件配置将各服务器按照业务逻辑分为预定的层级,各层级按树形拓扑结构分布;指令解析单元602,用于接收并解析接收到的操作指令,得到操作指令所对应的目标服务器;指令转发单元603,用于将上述操作指令按照上述配置文件中层级逐层转发至上述目标服务器。以上方案通过对服务器的分层管理,使服务器之间的逻辑关系更为简单,因此提供了有效的方式来梳理服务器之间的复杂关系。优选地,本发明实施例还给出了层级的举例,上述配置获取单元601,具体用于获取集群服务器的配置文件;上述配置文件配置将各服务器按照业务逻辑分为预定的层级,各层级按树形拓扑结构分布;层级包括:四个层级,从上到下依次为:集群cluster、组group、集合set、单元unit;cluster作为最高层级的根节点,是提供相同服务的一组服务器、按照服务的运行环境划分cluster得到的group是cluster的子节点,按照不同业务划分group得到set,set是group的子节点,set的子节点是unit,unit是执行服务逻辑的执行服务器。需要说明的是,按照不同的需求,可能有更多层级也可以压缩层级更为扁平,具体层级的数量本发明实施例不予限定。进一步地,本发明实施例还给出了负载监控方案,如图7所示,上述装置还包括:负载监控单元701,用于监控set的负载状态;提示单元702,用于若负载监控单元701监控到负载状态超过预定门限值,则发送需要扩容的提示。进一步地,本发明实施例还给出了进行扩容的具体实现方案,如图8所示,上述装置还包括:权限控制单元801,用于接受用户登录,确定登录的用户是否具有服务器搭建权限;资源控制单元803,用于在权限控制单元801确定登录的用户具有服务器搭建权限后,将配置文件拉取至缓存,并按照用户输入指示增加指定层级的节点到配置文件,并分配相应资源,然后启动增加的节点对应的服务器以及业务逻辑。优选地,上述层级中,位于最底层的服务器互为主备,最底层的一个或者一个以上的服务器设置于一台实体服务器。若有一个以上的服务器设置于一台实体服务器,那么可以有效利用具有空闲资源的实体服务器。进一步地,由于最底层的服务器互为主备本发明实施例还给出了服务器故障的解决方案:如图9所示,上述装置还包括:状态监控单元901,用于监测最底层的服务器的状态;逻辑控制单元902,用于在状态监控单元901检测到最底层的服务器出现故障后提示移除出现故障的最底层的服务器,使用故障的最底层的服务器的兄弟节点服务器执行上述故障的最底层的服务器的业务逻辑。由于最底层的服务器互为主备,最底层的服务器移除并不会影响到对客户的服务提供,因此即使最底层服务器出现故障也不会影响用户体验,实现平滑的故障处理。可选地,上述指令转发单元603,具体用于若上述目标服务器对应的层级非最底层,则将以上述目标服务器对应层的服务器为根节点的子树作为目标服务器的单位,将上述操作指令按照上述配置文件中层级逐层转发至上述目标服务器的单位。另外,可以理解的是,如果目标服务器是最底层服务器,直接执行:将上述操作指令按照上述配置文件中层级逐层转发至上述目标服务器。可选地,上述指令解析单元602,具体用于通过向用户展现的可视化操作界面接收操作指令,然后解析接收到的操作指令。通过向用户展现的可视化操作界面接收操作指令的方案有很多,例如使用UI(Userxa0Interface,用户界面)图形操作方式来接收操作指令。具体采用何种可视化操作界面并不影响本发明实施例的实现,本发明实施例对此不予限定。值得注意的是,上述装置实施例中,所包括的各个单元只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。另外,本领域普通技术人员可以理解实现上述各方法实施例中的全部或部分步骤是可以通过程序来指令相关的硬件完成,相应的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。以上仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明实施例揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。